package HomeWork.byteStream;

import java.io.*;
import java.nio.charset.StandardCharsets;

public class ByteStream {
    public static void main(String[] args) throws IOException {
        //单字进行写出
//        FileOutputStream fos=new FileOutputStream("homework.txt",true);
//        fos.write(1122);
//        fos.write(165);
//        System.out.println("Output finished!");
//        fos.close();
        //单字进行读取
//        FileInputStream fis=new FileInputStream("homework.txt");
//        File f=new File("homework.txt");
//        int a;
//        for (long i = 0; i < f.length(); i++) {
//            a=fis.read();
//            System.out.print(a+" ");
//        }
//        fis.close();
        //单字节文件复制
        //创建一个输入流，创建一个输出流
//        FileInputStream fis=new FileInputStream("view.jpg");
//        FileOutputStream fos=new FileOutputStream("view_copyy.jpg");
//        //当read的值不返回-1，则循环读取，用输入流读取数据，把临时量，用输出流传递给新的文件
//        long start=System.currentTimeMillis();
//        int digit;
//        while((digit=fis.read())!=-1){
//            fos.write(digit);
//        }
//        long end=System.currentTimeMillis();
//        //返回创建成功！
//        System.out.println("复制完成！！  总共耗时："+(end-start)+" ms");
//        fis.close();
//        fos.close();

        //块单位进行复制
//        FileInputStream fis=new FileInputStream("view.jpg");
//        FileOutputStream fos=new FileOutputStream("view_copyy_2.jpg");
//        byte[] temp=new byte[1024*2];
//        int len;
//        while((len=fis.read(temp))!=-1){
//            fos.write(temp,0,len);
//        }
//        System.out.println("复制完毕！");
//        fis.close();
//        fos.close();

        //写文本数据
//        FileOutputStream fos=new FileOutputStream("homework02.txt");
//        String s="I've traveled the world and seven seas";
//        fos.write(s.getBytes(StandardCharsets.UTF_8));
//        System.out.println("Output finished!");
//        fos.close();
        //读取文本数据

        FileInputStream fis=new FileInputStream("homework02.txt");
        File file=new File("homework02.txt");
        byte[] by=new byte[(int)file.length()];
        fis.read(by);
        String line=new String(by,StandardCharsets.UTF_8);
        System.out.println(line);
        fis.close();
    }
}
